/*!
 *file name : led_board.c
 *author :hu
 *
 *description:
 */


/*!
 *
 *说明：数码管显示接口，形参长度根据具体硬件进行扩展,此处假设有16个
 *参数：levelData，每一位表示一个数码管其中一段的亮或灭
 *返回值：
 */
void ledDis(UINT16 levelData,UINT8 ledNum)
{
	UINT16 level,index;
	//次处使用循环，目的是为了通用性，即使引脚设计不合理时也可以使用。
	//一般来说，硬件上应尽量设计在同一组引脚上，如PA0-PA15等，则可以
	//使用库函数或寄存器同时操作多个引脚，不必使用循环
	for(index=0;index < LED_NUM;index++)
	{
		level = levelData & 0x01;
		levelData >>= 1;
		switch(index)
		{
			case 0:
				PAout(0)=level;//以stm32的位带操作示范
				break;
			case 1:
				PAout(1)=level;
				break;
			case 2:
				PAout(2)=level;
				break;
			case 3:
				PAout(3)=level;
				break;
			
				…………

			default:
				break;

		}
	}
}


/*!
 *
 *说明：设置段电平。
 *参数：segIndex：段索引 ，level：电平
 *返回值：
 */
 //同上一函数，不一定必须使用循环，看引脚设计
void setSegPin(UINT8 segIndex,UINT8 level)
{
	switch(segIndex)
	{
		case SEG_A:
			PGout(0)=level;//示例
			break;
		case SEG_B:
			PGout(1)=level;
			break;	

			…………

		default:
		//nothing
			break;
	}

}